| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

Renderer.h
1 // Renderer.h
3 //
5
6 namespace nkGraphics
7 {
19 class Renderer
20 {
21 public :
22
26 Renderer () noexcept ;
30 virtual ~Renderer () ;
31
32 // Getters
38 virtual DataAllocator* getAllocator () const = 0 ;
42 virtual RendererSupportInfo getRendererSupportInfo () const = 0 ;
50 virtual nkMemory::UniquePtr<nkExport::Node> getStats () const = 0 ;
54 RENDERING_API getRenderApi () const ;
55
63 virtual bool initialize (const Configuration& config) = 0 ;
70 virtual bool initiateBuiltInShaders () = 0 ;
77 virtual bool postGraphicSystemInit () = 0 ;
82 virtual void prepareForRelease () = 0 ;
89 virtual bool shutdown () = 0 ;
90
91 // Flushs forcés
100 virtual void flushRendering () = 0 ;
101
102 // Rendering steps
107 virtual void preRenderRoutine () = 0 ;
112 virtual void postRenderRoutine () = 0 ;
125 virtual bool launchComputeShader (Shader* shader, unsigned int xThread, unsigned int yThread, unsigned int zThread) = 0 ;
140 virtual bool launchGeometryShaderStream (Shader* shader, Mesh* baseMesh, Mesh* outputMesh, Buffer* outputBuffer, bool gpuCopy = false, bool async = false) = 0 ;
141 } ;
142 }
nkGraphics::Renderer::postGraphicSystemInit
virtual bool postGraphicSystemInit()=0
nkGraphics::Renderer::getRendererSupportInfo
virtual RendererSupportInfo getRendererSupportInfo() const =0
nkGraphics::Renderer::launchGeometryShaderStream
virtual bool launchGeometryShaderStream(Shader *shader, Mesh *baseMesh, Mesh *outputMesh, Buffer *outputBuffer, bool gpuCopy=false, bool async=false)=0
nkGraphics::Renderer::postRenderRoutine
virtual void postRenderRoutine()=0
nkGraphics::RENDERING_API
RENDERING_API
Enumerates supported graphics API.
Definition: RenderingApi.h:14
nkGraphics::Renderer::getAllocator
virtual DataAllocator * getAllocator() const =0
nkGraphics::Buffer
A buffer that will reside on the GPU.
Definition: Buffer.h:17
nkExport
Encompasses all API of component NilkinsExport.
Definition: Base64Encoder.h:7
nkGraphics::Renderer::flushRendering
virtual void flushRendering()=0
nkGraphics::Renderer
A renderer, implementing the logic of using a graphics API.
Definition: Renderer.h:20
nkGraphics::Shader
A shader class, feeding data to a Program.
Definition: Shader.h:16
nkGraphics::Renderer::shutdown
virtual bool shutdown()=0
nkGraphics::Renderer::getRenderApi
RENDERING_API getRenderApi() const
nkGraphics::Renderer::Renderer
Renderer() noexcept
nkGraphics::Configuration
Configuration for the system's initialization.
Definition: Configuration.h:12
nkGraphics::Renderer::prepareForRelease
virtual void prepareForRelease()=0
nkGraphics::Renderer::launchComputeShader
virtual bool launchComputeShader(Shader *shader, unsigned int xThread, unsigned int yThread, unsigned int zThread)=0
nkGraphics::Renderer::getStats
virtual nkMemory::UniquePtr< nkExport::Node > getStats() const =0
nkGraphics::Renderer::initialize
virtual bool initialize(const Configuration &config)=0
nkGraphics::Renderer::preRenderRoutine
virtual void preRenderRoutine()=0
nkGraphics::Node
Represents a node in a scene graph.
Definition: Node.h:16
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::Mesh
Holds information about a mesh. Used as a basis to render 3d models.
Definition: Mesh.h:14
nkGraphics::Renderer::initiateBuiltInShaders
virtual bool initiateBuiltInShaders()=0
nkGraphics::RendererSupportInfo
Informations about the supported features.
Definition: RendererSupportInfo.h:12
nkMemory
Encompasses all API of component NilkinsMemory.
Definition: Allocator.h:7